/*
题目链接：https://leetcode.cn/problems/count-numbers-with-unique-digits/description/
题目标题：357.统计各位数字都不同的数字个数（中等）
提交时间：2024/10/5
*/

//排列组合
class Solution {
public:
    int countNumbersWithUniqueDigits(int n) {
        if(n==0) return 1;
        if(n==1) return 10;
        int num;
        int ans=10;  //表述当n>1时的个数初始状态
        for(int i=0;i<n;i++){
            if(i==0) {num=9;continue;}
            else num*=(9-i+1);      //用排列组合可以求解，每一位数的可能值
            ans+=num;         //例如两位数时：9*9；三位数时：9*9*8
        }
        return ans;
    }
};